package com.luinnx.message.servlet;

import com.luinnx.message.DB.DB;
import com.luinnx.message.model.Leavemessage;
import com.luinnx.message.model.User;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@SuppressWarnings("serial")
public class loginServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doGet(req, resp);
		this.doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//设置请求和响应参数
			req.setCharacterEncoding("UTF-8");
			resp.setContentType("UTF-8");
		
		//拿到用户登录参数
			String username=req.getParameter("username");
			String password=req.getParameter("password");
		
		//进行验证
			if(username != null && password !=null){
			System.out.print(username);
			System.out.print(password);
				//建立DB对象，用来使用其中的方法来完成判断
				DB db=new DB();
				//获取session对象，用来保存用户登录信息
				HttpSession session=req.getSession();
				//先获取user对象，如果是第一次访问该servlet，用户对象肯定是空的，但如果是第二次甚至
				//第三次，就不该在判断该用户信息
				User user=(User)session.getAttribute("user");
				//这里是第一次判断，如果用户是第一次进入，调用DB类中的方法判断
				if(user ==null){
					user=db.checkUser(username, password);//如果没有找到还记录返回空，则user仍然为null
				}
				//把user对象存在session中
				session.setAttribute("user", user);
				//响应
				if(user != null){
					//如果根据查询，用户不为空，表示用户名和密码正确，应该去下一个界面
					//这里是去主界面
					//System.out.println("user is loging in");
					User usertemp=(User)session.getAttribute("user");
					if(usertemp.getUsername().equals(username) && usertemp.getPassword().equals(password)){
					ArrayList<Leavemessage> al=new ArrayList<Leavemessage>();
					//查询所有留言记录
					al=db.findAll();
					//保存留言记录到session中
					session.setAttribute("al", al);
					//重定向
					resp.sendRedirect("main.jsp");
					 return ;
					}else{
						resp.sendRedirect("errorUser.jsp");
					}
				}else{
				 resp.sendRedirect("register.jsp");
				 return ;
				}
			}else{
				resp.sendRedirect("register.jsp");
				return ;
			}
		
		
		
		
	}
	
	
}
